package com.carhailing.coupons.mapper;

import com.carhailing.common.domain.coupons.CouponsVo;
import com.carhailing.common.domain.order.CarOrder;
import com.carhailing.common.domain.order.CarOrderRefund;
import com.carhailing.common.domain.order.CarPayRecord;
import com.carhailing.common.domain.order.CouponsUserRecord;
import com.carhailing.common.domain.response.SysUserDto;
import org.apache.catalina.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: Gd
 * @package: com.carhailing.coupons.mapper
 * @Project: Online_Taxi_Project
 * @Name: CouponsOrderMapper
 * @Date: 2024-7-28 21:44
 */
@Mapper
public interface CouponsOrderMapper {


    CarOrder selectByOrderNumber(@Param("orderNumber") Long orderNumber);

    List<CarPayRecord> selectPayRecordstatusByOrderNumber(@Param("orderNumber") Long orderNumber);

    CouponsUserRecord selectCouponsByUserId(@Param("userId") Long userId);

    CouponsVo selectPriceByCouponsId(@Param("recordId") Long recordId);

    List<CarPayRecord> selectCarPayRecordStatus(@Param("status") int status);

    void updateCarOrder(CarPayRecord carPayRecord);

    void insertCarOrderRefund(CarOrderRefund carOrderRefund);

    CarPayRecord queryCarPayRecord(@Param("outTradeNo") String outTradeNo);

    void updateUserIntegralByUserId(@Param("userIntegral") Integer userIntegral, @Param("userid") Integer userid);

    void updateCarOrderRefund(CarOrderRefund carOrderRefund);

    void insertCarPayRecord(CarPayRecord carPayRecord1);

    void carOrderRecordupdate(@Param("payRecordid") Long payRecordid, @Param("status") Integer status);

    void carOrderUpdate(@Param("startCarid") Long startCarid, @Param("status") Integer status);

    SysUserDto selectUserByPayrecorduserid(@Param("payRecorduserid") Long payRecorduserid);

    CouponsVo selectCouponsByUsercouponsid(@Param("useCcouponsid") Integer useCcouponsid);
}
